import os
import pandas as pd

# 设置文件夹路径
folder_path = r"F:\dataset\BQW_min\Group\A1_new"

# 获取所有csv文件
csv_files = [f for f in os.listdir(folder_path) if f.endswith('.csv')]

if not csv_files:
    print("文件夹中没有csv文件")
else:
    # 读取第一个文件的列名作为基准
    first_file_path = os.path.join(folder_path, csv_files[0])
    try:
        first_file_columns = pd.read_csv(first_file_path, nrows=0).columns.tolist()
        print(f"基准文件 '{csv_files[0]}' 的列名: {first_file_columns}")
    except Exception as e:
        print(f"读取基准文件 '{csv_files[0]}' 时出错: {e}")
        first_file_columns = None

    if first_file_columns:
        inconsistent_files = []

        # 检查其他文件的列名
        for file in csv_files[1:]:
            file_path = os.path.join(folder_path, file)
            try:
                current_columns = pd.read_csv(file_path, nrows=0).columns.tolist()

                # 检查列名顺序和内容是否一致
                if current_columns != first_file_columns:
                    inconsistent_files.append(file)
                    print(f"文件 '{file}' 列名不一致")
                    print(f"  期望: {first_file_columns}")
                    print(f"  实际: {current_columns}")

            except Exception as e:
                print(f"读取文件 '{file}' 时出错: {e}")

        # 输出总结
        if inconsistent_files:
            print(f"\n总结: 共有 {len(inconsistent_files)} 个文件的列名不一致")
            print("不一致的文件:", inconsistent_files)
        else:
            print("\n所有文件的列名顺序和名称完全一致")